Moderately Complex Paxos Made Simple: High-Level Specification of Distributed Algorithm
نویسندگان
چکیده
This paper presents simpler specifications of more complex variants of the Paxos algorithm for distributed consensus, as a case study of high-level specification of distributed algorithms. The development of the specifications uses a method and language for expressing complex control flows and synchronization conditions precisely at a high level. We show that English and pseudocode descriptions of algorithms can be captured precisely at a high level, yielding clearer and simpler specifications than ever before. The resulting specifications have allowed us to easily discover a main liveness violation that was unknown in a previous specification. We also show that the resulting specifications can be executed directly and optimized cleanly, yielding drastic performance improvement. Finally, we show that the resulting specifications can be formally verified using a proof system, with proofs an order of magnitude smaller than prior proofs, and allowing us to detect and fix a subtle safety violation that was unknown in an early specification.
منابع مشابه
On the Automated Implementation of Time-Based Paxos Using the IOA Compiler
Paxos is a well known algorithm for achieving consensus in distributed environments with uncertain processing and communication timing. Implementations of its variants have been successfully used in the industry (eg., Chubby by Google, Autopilot cluster management in Bing by Microsoft, and many others). This paper addresses the challenge of the manual coding of complex distributed algorithms, s...
متن کاملProving the Correctness of Disk Paxos in Isabelle/HOL
Disk Paxos [GL00] is an algorithm for building arbitrary faulttolerant distributed systems. The specification of Disk Paxos has been proved correct informally and tested using the TLC model checker, but up to now, it has never been fully formally verified. In this work we have formally verified its correctness using the Isabelle theorem prover and the HOL logic system [NPW02], showing that Isab...
متن کاملFormal Verification of Multi-Paxos for Distributed Consensus
This paper describes formal specification and verification of Lamport’s Multi-Paxos algorithm for distributed consensus. The specification is written in TLA+, Lamport’s Temporal Logic of Actions. The proof is written and checked using TLAPS, a proof system for TLA+. Building on Lamport, Merz, and Doligez’s specification and proof for Basic Paxos, we aim to facilitate the understanding of Multi-...
متن کاملEmpirical Study of Unstable
This thesis studies the effect of unstable leaders in Paxos protocol. Paxos algorithm is one of the most popular solutions for distributed consensus, and is often used for building replicated state machines. Safety is guaranteed by Paxos algorithm regardless of various machine and communication failures. However, the liveness is compromised when multiple Paxos leaders exist at the same time. Al...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1704.00082 شماره
صفحات -
تاریخ انتشار 2017